////
//// Created by lfm on 2025/2/27.
////
//#include <iostream>
//using namespace std;
//class Person
//{
//public:
//    Person()
//    {
//        cout << "无参构造函数的调用" << endl;
//    }
//    Person(int a)
//    {
//        cout << "有参构造函数的调用" << endl;
//        m_Age = a;
//    }
//    Person(const Person & p)
//    {
//        cout << "拷贝构造函数的调用" << endl;
//        m_Age = p.m_Age;
//    }
//    ~Person()
//    {
//        cout << "析构函数的调用" << endl;
//    }
//    int m_Age;
//};
////拷贝构造函数调用时机
////
////使用一个已经创建完毕的对象来初始化一个新对象
//void test01()
//{
//    Person p1(20);
//    Person p2(p1);
//}
////值传递的方式给函数参数传值
//void doWork(Person p)
//{
//
//}
//void test02()
//{
//    Person p;
//    doWork(p);
//}
////值方式返回局部对象
//Person doWork2()
//{
//    Person p1;
//    return p1;
//}
//void test03()
//{
//    Person p = doWork2();
//}
//int main()
//{
//    test01();
//    return 0;
//}

